// 用来描述对象形状的
interface Ischool {
  readonly name: string, // readonly 只读 禁止修改
  age: number,
  address?: string // ? 可填可不填
}

const school: Ischool = {
  name: '',
  age: 11,
  address: ''
}

// 接口可以扩展 通过extends 扩展
interface Itest extends Ischool {
  type: string,
  [key: string]: unknown // 任意类型
}

const test: Itest = {
  ...school,
  type: 'web',
  a: 1
}

// 类型断言 表示这个对象就是这个类型  强制转换
const school2: Ischool = ({
  name: '',
  age: 11,
  address: '',
  lessons: []
}) as Ischool
